1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Drawing;
5 using
System.Data;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10
11 namespace
SoftQuanLyNhaHang.Views
12 {
13
14     
public delegate void LinkSuaDonHang_EventHandler(object sender, EventArgs e, int IdNhapHang, int NhaCungCapId, string trangThaiNhapHang);
15
16     
public delegate void Link_ChiTietDonHang_Dong_UctNhapHang_EventHandler(object sender, EventArgs e);
17
18     
public partial class uctNhapHang_ChiTiet : UserControl
19     {
20
21         
public uctNhapHang_ChiTiet()
22         {
23             InitializeComponent();
24         }
25
26         
public static uctNhapHang_ChiTiet uctNh_Ct = new uctNhapHang_ChiTiet();
27
28         
public event LinkSuaDonHang_EventHandler Link_SuaDonHang_Get_UctNhapHang;
29
30         
public event Link_ChiTietDonHang_Dong_UctNhapHang_EventHandler Link_ChiTietDonHang_Dong_UctNhapHang;
31
32         
private int getIdNhapHang;
33         
private int getNhaCungCapId;
34         
private string getTrangThaiNhapHang;
35
36         
//Nhap hang
37         
//int _IdNhapHang = 0;
38         
//int _NhaCungCapId = 0;
39         
//string _trangThaiNhapHang = "NhapHang";
40
41
42
43         
int _pageIndex = 1;
44         
int _tongSoBanGhi_SanPhamNhapHang = 0;
45         
double _tongDonHangAll = 0;
46
47         
//thanh toan
48         
int _IdThanhToan = 0;
49         
//int _Tbl_TenBangId = 0;
50         
double _SoTienThanhToan = 0;
51         
string _MoTaThanhToan = string.Empty;
52         
string _TrangThai = string.Empty;
53         DateTime _NgayTao = DateTime.Now;
54         
string _Tbl_TenBang = string.Empty;
55         
int _PageSize = 30;
56         
int _PageIndex = 1;
57         
int _stt = 0;
58
59         
private void uctNhapHang_ChiTiet_Load(object sender, EventArgs e)
60         {
61             
//this.BindDataGridView();
62             
//this.HienThiChiTietDonHang();
63         }
64         
/*
65         //--https://stackoverflow.com/questions/
39284588/add-insert-primary-key-column-to-datatable-in-c-sharp-and-vb-net
66         
private void BindDataGridView()
67         {
68             DataTable dt =
new DataTable();
69             dt.Columns.AddRange(
new DataColumn[3] { new DataColumn("Id", typeof(int)),
70                                 
new DataColumn("Name", typeof(string)),
71                                 
new DataColumn("Country",typeof(string)) });
72             dt.Rows.Add(
1, "John Hammond", "United States");
73             dt.Rows.Add(
2, "Mudassar Khan", "India");
74             dt.Rows.Add(
3, "Suzanne Mathews", "France");
75             dt.Rows.Add(
4, "Robert Schidner", "Russia");
76             dt.Rows.Add(
5, "John Hammond", "United States");
77             dt.Rows.Add(
6, "Mudassar Khan", "India");
78             dt.Rows.Add(
7, "Suzanne Mathews", "France");
79             dt.Rows.Add(
8, "Robert Schidner", "Russia");
80             dt.Rows.Add(
9, "John Hammond", "United States");
81             dt.Rows.Add(
10, "Mudassar Khan", "India");
82             dt.Rows.Add(
11, "Suzanne Mathews", "France");
83             dt.Rows.Add(
12, "Robert Schidner", "Russia");
84             dt.Rows.Add(
13, "John Hammond", "United States");
85             dt.Rows.Add(
14, "Mudassar Khan", "India");
86             dt.Rows.Add(
15, "Suzanne Mathews", "France");
87             dt.Rows.Add(
16, "Robert Schidner", "Russia");
88             dt.Rows.Add(
17, "John Hammond", "United States");
89             dt.Rows.Add(
18, "Mudassar Khan", "India");
90             dt.Rows.Add(
19, "Suzanne Mathews", "France");
91             dt.Rows.Add(
20, "Robert Schidner", "Russia");
92             dt.Rows.Add(
21, "John Hammond", "United States");
93             dt.Rows.Add(
22, "Mudassar Khan", "India");
94             dt.Rows.Add(
23, "Suzanne Mathews", "France");
95             dt.Rows.Add(
24, "Robert Schidner", "Russia");
96             dt.Rows.Add(
25, "John Hammond", "United States");
97
98             dt.Rows.Add(
26, "John Hammond", "United States");
99             dt.Rows.Add(
27, "Mudassar Khan", "India");
100             dt.Rows.Add(
28, "Suzanne Mathews", "France");
101             dt.Rows.Add(
29, "Robert Schidner", "Russia");
102             dt.Rows.Add(
30, "John Hammond", "United States");
103             dt.Rows.Add(
31, "Mudassar Khan", "India");
104             dt.Rows.Add(
32, "Suzanne Mathews", "France");
105             dt.Rows.Add(
33, "Robert Schidner", "Russia");
106             dt.Rows.Add(
34, "John Hammond", "United States");
107             dt.Rows.Add(
35, "Mudassar Khan", "India");
108             dt.Rows.Add(
36, "Suzanne Mathews", "France");
109             dt.Rows.Add(
37, "Robert Schidner", "Russia");
110             dt.Rows.Add(
38, "John Hammond", "United States");
111             dt.Rows.Add(
39, "Mudassar Khan", "India");
112             dt.Rows.Add(
40, "Suzanne Mathews", "France");
113             dt.Rows.Add(
41, "Robert Schidner", "Russia");
114             dt.Rows.Add(
42, "John Hammond", "United States");
115             dt.Rows.Add(
43, "Mudassar Khan", "India");
116             dt.Rows.Add(
44, "Suzanne Mathews", "France");
117             dt.Rows.Add(
45, "Robert Schidner", "Russia");
118             dt.Rows.Add(
46, "John Hammond", "United States");
119             dt.Rows.Add(
47, "Mudassar Khan", "India");
120             dt.Rows.Add(
48, "Suzanne Mathews", "France");
121             dt.Rows.Add(
49, "Robert Schidner", "Russia");
122             dt.Rows.Add(
50, "John Hammond", "United States");
123
124             
this.dgvDanhSachNhapHang.DataSource = dt;
125
126             
127
128
129         }
130         */

131         
//--https://www.aspsnippets.com/Articles/Print-contents-of-Form-in-Windows-Forms-WinForms-Application-using-C-and-VBNet.aspx
132         
//Bitmap bitmap;
133
134         
//private void btnPrint_Click(object sender, EventArgs e)
135         
//{
136             
/*
137
138             //Add a Panel control.
139             Panel panel =
new Panel();
140             
this.Controls.Add(panel);
141
142             //Create a Bitmap of size same
as that of the Form.
143             Graphics grp = panel.CreateGraphics();
144             Size formSize =
this.ClientSize;
145             bitmap =
new Bitmap(formSize.Width, formSize.Height, grp);
146             grp = Graphics.FromImage(bitmap);
147
148             //Copy screen area that that the Panel covers.
149             Point panelLocation = PointToScreen(panel.Location);
150             grp.CopyFromScreen(panelLocation.X, panelLocation.Y,
0, 0, formSize);
151
152             //Show the Print Preview Dialog.
153             printPreviewDialog.Document = printDoc;
154             printPreviewDialog.PrintPreviewControl.Zoom =
1;
155             printPreviewDialog.ShowDialog();
156              */

157
158           
// printDoc.Print();
159         
//}
160
161         
//-http://csharp.net-informations.com/datagridview/csharp-datagridview-printing.htm
162         
//--https://www.youtube.com/watch?v=J35XHv3esAk
163        
private void PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
164         {
165             
/*
166             e.Graphics.DrawString(
"Xin chao", new Font("Arial", 12, FontStyle.Regular), Brushes.Black, new Point(25, 180));
167
168             e.Graphics.DrawString(
"Abc ok:", new Font("Arial", 12, FontStyle.Regular), Brushes.Black, new Point(25, 200));
169
170             Panel panel =
new Panel();
171             
this.Controls.Add(panel);
172
173             //Create a Bitmap of size same
as that of the Form.
174             Graphics grp = panel.CreateGraphics();
175             Size formSize =
this.ClientSize;
176             bitmap =
new Bitmap(formSize.Width, formSize.Height, grp);
177             grp = Graphics.FromImage(bitmap);
178
179             //Copy screen area that that the Panel covers.
180             Point panelLocation = PointToScreen(panel.Location);
181             grp.CopyFromScreen(panelLocation.X, panelLocation.Y,
0, 0, formSize);
182             //e.Graphics.DrawString(panel1.gett,
new Font("Arial", 12, FontStyle.Regular), Brushes.Black, new Point(25, 250));
183             */

184
185             
//Bitmap pn2 = new Bitmap(this.panel2.Width, this.panel2.Height);
186             
//panel2.DrawToBitmap(pn2, new Rectangle(0, 0, this.panel2.Width, this.panel2.Height));
187             
//e.Graphics.DrawImage(pn2, 0, 0);
188
189             
//e.Graphics.DrawString("Xin chao", new Font("Arial", 12, FontStyle.Regular), Brushes.Black, new Point(25, 180));
190
191             
//e.Graphics.DrawString("Abc ok:", new Font("Arial", 12, FontStyle.Regular), Brushes.Black, new Point(25, 200));
192
193
194             
//Bitmap bm = new Bitmap(this.dgvDanhSach.Width, this.dgvDanhSach.Height);
195             
//dgvDanhSach.DrawToBitmap(bm, new Rectangle(0, 0, this.dgvDanhSach.Width, this.dgvDanhSach.Height));
196             
//e.Graphics.DrawImage(bm, 0, 250);
197            
/*
198
199             DataTable tmp_Table =
new DataTable();
200             tmp_Table.Columns.AddRange(
new DataColumn[3] { new DataColumn("Id", typeof(int)),
201                                 
new DataColumn("Name", typeof(string)),
202                                 
new DataColumn("Country",typeof(string)) });
203             tmp_Table.Rows.Add(
1, "John Hammond", "United States");
204             tmp_Table.Rows.Add(
2, "Mudassar Khan", "India");
205             tmp_Table.Rows.Add(
3, "Suzanne Mathews", "France");
206             tmp_Table.Rows.Add(
4, "Robert Schidner", "Russia");
207             tmp_Table.Rows.Add(
5, "John Hammond", "United States");
208             tmp_Table.Rows.Add(
6, "Mudassar Khan", "India");
209         */

210             
/*
211             
string header = "Master List";
212             
string footer = string.Empty;
213
214             
int columnCount = tmp_Table.Columns.Count;
215             
int maxRows = tmp_Table.Rows.Count;
216
217
218             
using (Graphics g = e.Graphics)
219             {
220                 Brush brush =
new SolidBrush(Color.Black);
221                 Pen pen =
new Pen(brush);
222                 Font font =
new Font("Arial", 10);
223                 SizeF size;
224
225                 
int x = 0, y = 0, width = 130;
226                 
float xPadding;
227
228                 // Here title
is written, sets to top-middle position of the page
229                 size = g.MeasureString(header, font);
230                 xPadding = (width - size.Width) /
2;
231                 g.DrawString(header, font, brush, x +
250, y + 5);
232
233                 x =
0;
234                 y +=
30;
235
236                 // Writes
out all column names in designated locations, aligned as a table
237                 
foreach (DataColumn column in tmp_Table.Columns)
238                 {
239                     size = g.MeasureString(column.ColumnName, font);
240                     xPadding = (width - size.Width) /
2;
241                     g.DrawString(column.ColumnName, font, brush, x + xPadding, y +
5);
242                     x += width;
243                 }
244
245                 x =
0;
246                 y +=
30;
247
248                 
int rowcount = 0;
249                 // Process each row and place each item under correct column.
250                 
foreach (DataRow row in tmp_Table.Rows)
251                 {
252                     rowcount++;
253
254                     
for (int i = 0; i < columnCount; i++)
255                     {
256                         size = g.MeasureString(row[i].ToString(), font);
257                         xPadding = (width - size.Width) /
2;
258
259                         g.DrawString(row[i].ToString(), font, brush, x + xPadding, y +
5);
260                         x += width;
261                     }
262
263                     e.HasMorePages = rowcount -
1 < maxRows;
264
265                     x =
0;
266                     y +=
30;
267                 }
268
269                 footer =
"Total: " + maxRows + " |Signed:..........................";
270                 size = g.MeasureString(footer, font);
271                 xPadding = (width - size.Width) /
2;
272                 g.DrawString(footer, font, brush, x +
250, y + 5);
273
274                 x =
0;
275                 y +=
30;
276             }
277
278             */

279         }
280
281         
//--https://stackoverflow.com/questions/11669092/how-to-vertically-auto-size-a-winforms-datagridview-control-so-that-its-rows-ar
282         
//hien thi tat ca cac rows in dgv
283         
private void dgvDanhSach_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
284         {
285             
var height = 40;
286             
foreach (DataGridViewRow dr in dgvDanhSachNhapHang.Rows)
287             {
288                 height += dr.Height;
289             }
290
291             dgvDanhSachNhapHang.Height = height;
292
293             
//--https://stackoverflow.com/questions/8369999/c-sharp-change-the-location-of-an-object-programmatically
294             
int y = height + 500;
295             
//this.panel3.Location = new Point(
296             
// 85,
297             
// y
298             
//);
299         }
300
301         
/*
302         
private void btnPrintPreview_Click(object sender, EventArgs e)
303         {
304
305             //Show the Print Preview Dialog.
306             printPreviewDialog.Document = printDoc;
307             printPreviewDialog.PrintPreviewControl.Zoom =
1;
308             printPreviewDialog.ShowDialog();
309         }
310          */

311
312         
private void linkLabel_SuaDonHang_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
313         {
314             
if (this.Link_SuaDonHang_Get_UctNhapHang != null)
315             {
316                 
this.Link_SuaDonHang_Get_UctNhapHang(sender, e, getIdNhapHang, getNhaCungCapId, getTrangThaiNhapHang);
317             }
318         }
319
320         
//hien thi chi tiet nhap hang
321         
public void HienThiChiTietDonHang(int IdNhapHang, int nhaCungCapId, string trangThaiNhapHang)
322         {
323             getIdNhapHang = IdNhapHang;
324             getNhaCungCapId = nhaCungCapId;
325             getTrangThaiNhapHang = trangThaiNhapHang;
326
327             
//hiển thị thông tin nhà cung cấp
328             
this.HienThiThongTin_NhaCungCap_DonHang_NhapHang(getNhaCungCapId);
329
330             
//hiển thị thông tin sản phẩm trong đơn hàng
331             
this.HienThiDanhSachSanPhamTrongDonHang_NhapHang(getIdNhapHang);
332
333             
//hiển thị thông tin đơn hàng
334             
this.HienThiThongTinDonHang_NhapHang(getIdNhapHang);
335
336             
//hiển thị lịch sử thanh toán đơn hàng nhập hàng
337             
this.HienThiLichSuThanhToanDonHang_NhapHang(getIdNhapHang, "tbl_NhapHang");
338
339             
/*
340             //
341             
this._IdNhapHang = IdNhapHang;
342             //_IdKho =
0;
343
344             dgvDanhSachNhapHang.Rows.Clear();
345             //Ẩn cột đầu tiên
346             dgvDanhSachNhapHang.RowHeadersVisible =
false;
347             //-https://stackoverflow.com/questions/
17404969/right-align-a-column-in-datagridview-doesnt-work
348             
this.dgvDanhSachNhapHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
349             
this.dgvDanhSachNhapHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
350             //
this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
351
352             
this.dgvDanhSachNhapHang.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
353             
this.dgvDanhSachNhapHang.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
354
355             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
356             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
357
358             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
359             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
360
361             
this.dgvDanhSachNhapHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
362             
this.dgvDanhSachNhapHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
363
364
365             
this.dgvDanhSachNhapHang.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
366             
this.dgvDanhSachNhapHang.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
367
368             DataTable dt =
new DataTable();
369
370             //
select từ bảng kho
371             dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-
1, _IdNhapHang, 1000, _pageIndex).Tables[0];
372             
if (dt.Rows.Count > 0)
373             {
374
375                 _tongSoBanGhi = Int32.Parse(dt.Rows[
0]["TongSoBanGhi"].ToString());
376
377                 
double so_luong = 0;
378                 
double gia_nhap = 0;
379                 
double thue_ = 0;
380                 
string ckTheo = "PhanTram";
381                 
double ckPtram = 0;
382                 
double ckTien = 0;
383                 
double tongmotMh = 0;
384
385                 
foreach (DataRow item in dt.Rows)
386                 {
387                     _stt +=
1;
388                     
int n = dgvDanhSachNhapHang.Rows.Add();
389
390                     dgvDanhSachNhapHang.Rows[n].Cells[
"IdKho"].Value = item["IdKho"].ToString();
391                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
392                     //dgvDanhSachNhapHang.Rows[n].Cells[
"DonViTinhId"].Value = item["DonViTinhId"].ToString();
393                     dgvDanhSachNhapHang.Rows[n].Cells[
"STT"].Value = _stt.ToString();
394                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
395                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
396
397                     so_luong = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoLuong"].ToString());
398                     gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(item[
"GiaNhap"].ToString());
399                     thue_ = CauHinhHeThong.Format_SoDeTinhToan(item[
"Thue"].ToString());
400                     ckTheo = item[
"ChietKhauTheo"].ToString();
401                     ckPtram = CauHinhHeThong.Format_SoDeTinhToan(item[
"ChietKhauPhanTram"].ToString());
402                     ckTien = CauHinhHeThong.Format_SoDeTinhToan(item[
"TienChietKhau"].ToString());
403
404                     dgvDanhSachNhapHang.Rows[n].Cells[
"SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
405                     dgvDanhSachNhapHang.Rows[n].Cells[
"GiaNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true); //CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["GiaNhap"].ToString(), true);
406
407                     //hien thi chiet khau theo phan tram
408                     //dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhauTheo"].Value = ckTheo;// _ChietKhauTheo;
409
410                     dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhauPhanTram"].Value = CauHinhHeThong.Format_SoDeHienThi(ckPtram, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(_ChietKhau_PhanTram.ToString(), true);
411                     //dgvDanhSachNhapHang.Rows[n].Cells[
"TienChietKhau"].Value = CauHinhHeThong.Format_SoDeHienThi(ckTien, true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
412                     dgvDanhSachNhapHang.Rows[n].Cells[
"Thue"].Value = CauHinhHeThong.Format_SoDeHienThi(thue_, false);// item["Thue"].ToString();// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["Thue"].ToString(), true); //item["ChietKhauPhanTram"].ToString();
413
414                     tongmotMh = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPtram, ckTien, ckTheo, thue_);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tt.ToString(),
true);// this.TongTien_Mot_MatHang(item["GiaNhap"].ToString(), item["SoLuong"].ToString(), item["ChietKhauPhanTram"].ToString(), item["ChietKhauTheo"].ToString(), true);
415                     dgvDanhSachNhapHang.Rows[n].Cells[
"TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongmotMh, true);
416                     //dgvDanhSachNhapHang.Rows[n].Cells[
"Sua"].Value = "false";
417                 }
418
419             }
420             
else
421             {
422                 _tongSoBanGhi =
0;
423             }
424
425             //Hiển thị thông tin nhà cung cấp
426             
if (nhaCungCapId != 0)
427             {
428                 DataTable dtNcc =
new DataTable();
429
430                 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_ByIdNhaCungCap(nhaCungCapId).Tables[
0];
431
432                 
if (dtNcc.Rows.Count > 0)
433                 {
434                     txtSoDienThoaiNCC.Text = dtNcc.Rows[
0]["SoDienThoai"].ToString();
435                     txtHoVaTenNCC.Text = dtNcc.Rows[
0]["HoVaTen"].ToString();
436                     txtDiaChiNcc.Text = dtNcc.Rows[
0]["DiaChi"].ToString();
437                 }
438
439                 //hiển thị thông báo đơn hàng
440                 //lblTrangThaiDonHang.Text = trangThaiNhapHang;
441             }
442
443             txtTongSoMatHang.Text = _tongSoBanGhi.ToString();
444
445             _tongDonHangAll = TongTienMotDonHang_All(_IdNhapHang);
446
447             txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
448
449             
this.HienThiThongTinThanhToan(IdNhapHang, "tbl_NhapHang");
450              */

451         }
452
453         
private double TongTienMotDonHang_All(int IdNhapHang)
454         {
455             DataTable dtKho =
new DataTable();
456
457             
double tongDh = 0;
458
459             dtKho = Controllers.NhapHangCtrl.FillDataSet_NhapHang_GetAll_Kho_ByNhapHangId(IdNhapHang).Tables[
0];
460             
if (dtKho.Rows.Count > 0)
461             {
462                 
double gnhap = 0;
463                 
double sluong = 0;
464                 
double thue = 0;
465                 
double ckPt = 0;
466                 
string chietkhautheo = "";
467
468                 
double tienchietkhau = 0;
469
470                 
foreach (DataRow item in dtKho.Rows)
471                 {
472                     
if (!string.IsNullOrEmpty(item["GiaNhap"].ToString()))
473                     {
474                         gnhap =
double.Parse(item["GiaNhap"].ToString());
475                     }
476                     
else
477                     {
478                         gnhap =
0;
479                     }
480
481                     
if (!string.IsNullOrEmpty(item["SoLuong"].ToString()))
482                     {
483                         sluong =
double.Parse(item["SoLuong"].ToString());
484                     }
485                     
else
486                     {
487                         sluong =
0;
488                     }
489
490                     
if (!string.IsNullOrEmpty(item["Thue"].ToString()))
491                     {
492                         thue =
double.Parse(item["Thue"].ToString());
493                     }
494                     
else
495                     {
496                         thue =
0;
497                     }
498
499                     
if (!string.IsNullOrEmpty(item["ChietKhauPhanTram"].ToString()))
500                     {
501                         ckPt =
double.Parse(item["ChietKhauPhanTram"].ToString());
502                     }
503                     
else
504                     {
505                         ckPt =
0;
506                     }
507
508                     chietkhautheo = item[
"ChietKhauTheo"].ToString();
509
510                     
if (!string.IsNullOrEmpty(item["TienChietKhau"].ToString()))
511                     {
512                         tienchietkhau =
double.Parse(item["TienChietKhau"].ToString());
513                     }
514                     
else
515                     {
516                         tienchietkhau =
0;
517                     }
518
519                     tongDh += CauHinhHeThong.TinhTongMot_MatHang(gnhap, sluong, ckPt, tienchietkhau, chietkhautheo, thue);
// (gnhap * sluong) - tienchietkhau + (gnhap * sluong * thue / 100);
520                 }
521
522             }
523
524             
return tongDh;
525         }
526
527         
/*
528         //bỏ
529         //lịch sử thanh toán của đơn hàng
530         
private void HienThiThongTinThanhToan(int idBang, string tenBang)
531         {
532             //Hiển thị trong textbox
533             DataTable dtNH =
new DataTable();
534             dtNH = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNhapHangId(idBang).Tables[
0];
535             
double No_NCC = 0;
536             
if (dtNH.Rows.Count > 0)
537             {
538                 txtShowTenDonHang.Text = dtNH.Rows[
0]["TenDonHang"].ToString();
539
540                 
double tongdh = CauHinhHeThong.Format_SoDeTinhToan(dtNH.Rows[0]["TongDonHang"].ToString());
541                 //txtShowTongTien.Text = CauHinhHeThong.Format_SoDeHienThi(tongdh,
true) ;
542
543                 No_NCC = CauHinhHeThong.Format_SoDeTinhToan(dtNH.Rows[
0]["No_NCC"].ToString());
544                 txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(No_NCC,
true);
545             }
546
547             //hiển thị ra dgv
548             dgvThanhToan.Rows.Clear();
549             //Ẩn cột đầu tiên
550             dgvThanhToan.RowHeadersVisible =
false;
551             //-https://stackoverflow.com/questions/
17404969/right-align-a-column-in-datagridview-doesnt-work
552             
this.dgvThanhToan.Columns["STT_TT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
553             
this.dgvThanhToan.Columns["STT_TT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
554             //
this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
555
556             
this.dgvThanhToan.Columns["SoTienThanhToan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
557             
this.dgvThanhToan.Columns["SoTienThanhToan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
558
559
560             DataTable dtTt =
new DataTable();
561
562             dtTt = Controllers.ThanhToanCtrl.FillDataSet_getThanhToan_Search_ByIdTableName(_IdThanhToan, idBang, _SoTienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, tenBang, _PageSize, _PageIndex).Tables[
0];
563
564             
if (dtTt.Rows.Count > 0)
565             {
566                 
double sotientt = 0;
567                 
int _stt = 0;
568                 
foreach (DataRow item in dtTt.Rows)
569                 {
570                     _stt +=
1;
571                     
int n = dgvThanhToan.Rows.Add();
572
573                     dgvThanhToan.Rows[n].Cells[
"IdThanhToan"].Value = item["IdThanhToan"].ToString();
574                     dgvThanhToan.Rows[n].Cells[
"STT_TT"].Value = _stt.ToString();
575                     sotientt = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoTienThanhToan"].ToString());
576
577                     dgvThanhToan.Rows[n].Cells[
"SoTienThanhToan"].Value = CauHinhHeThong.Format_SoDeHienThi(sotientt, true);
578                     dgvThanhToan.Rows[n].Cells[
"NgayTao_TT"].Value = item["NgayTao"].ToString();
579                     dgvThanhToan.Rows[n].Cells[
"GhiChu_TT"].Value = item["MoTaThanhToan"].ToString();
580                 }
581             }
582
583         }
584         */

585
586         
//Hiển thị thông tin nhà cung cấp
587         
private void HienThiThongTin_NhaCungCap_DonHang_NhapHang(int idNhaCungCap)
588         {
589             
//Hiển thị thông tin nhà cung cấp
590             
if (idNhaCungCap != 0)
591             {
592                 DataTable dtNcc =
new DataTable();
593
594                 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_ByIdNhaCungCap(idNhaCungCap).Tables[
0];
595
596                 
if (dtNcc.Rows.Count > 0)
597                 {
598                     txtSoDienThoaiNCC.Text = dtNcc.Rows[
0]["SoDienThoai"].ToString();
599                     txtHoVaTenNCC.Text = dtNcc.Rows[
0]["HoVaTen"].ToString();
600                     txtDiaChiNcc.Text = dtNcc.Rows[
0]["DiaChi"].ToString();
601                 }
602                 
else
603                 {
604                     
//không hiển thị gì cả
605                     txtSoDienThoaiNCC.Text =
"";
606                     txtHoVaTenNCC.Text =
"";
607                     txtDiaChiNcc.Text =
"";
608                 }
609             }
610             
else
611             {
612                 
//không hiển thị gì cả
613                 txtSoDienThoaiNCC.Text =
"";
614                 txtHoVaTenNCC.Text =
"";
615                 txtDiaChiNcc.Text =
"";
616             }
617
618         }
619
620         
//Hiển thị danh sách sản phẩm nhập hàng
621         
private void HienThiDanhSachSanPhamTrongDonHang_NhapHang(int idNhapHang)
622         {
623             dgvDanhSachNhapHang.Rows.Clear();
624             
//Ẩn cột đầu tiên
625             dgvDanhSachNhapHang.RowHeadersVisible =
false;
626             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
627             
this.dgvDanhSachNhapHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
628             
this.dgvDanhSachNhapHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
629             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
630
631             
this.dgvDanhSachNhapHang.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
632             
this.dgvDanhSachNhapHang.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
633
634             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
635             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
636
637             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
638             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
639
640             
this.dgvDanhSachNhapHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
641             
this.dgvDanhSachNhapHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
642
643             
this.dgvDanhSachNhapHang.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
644             
this.dgvDanhSachNhapHang.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
645
646             DataTable dt =
new DataTable();
647
648             
//select từ bảng kho
649             dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-
1, idNhapHang, 1000, _pageIndex).Tables[0];
650             
if (dt.Rows.Count > 0)
651             {
652                 _tongSoBanGhi_SanPhamNhapHang = Int32.Parse(dt.Rows[
0]["TongSoBanGhi"].ToString());
653
654                 
double so_luong = 0;
655                 
double gia_nhap = 0;
656                 
double thue_ = 0;
657                 
string ckTheo = "PhanTram";
658                 
double ckPtram = 0;
659                 
double ckTien = 0;
660                 
double tongmotMh = 0;
661
662                 
foreach (DataRow item in dt.Rows)
663                 {
664                     _stt +=
1;
665                     
int n = dgvDanhSachNhapHang.Rows.Add();
666
667                     dgvDanhSachNhapHang.Rows[n].Cells[
"IdKho"].Value = item["IdKho"].ToString();
668                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
669                     
//dgvDanhSachNhapHang.Rows[n].Cells["DonViTinhId"].Value = item["DonViTinhId"].ToString();
670                     dgvDanhSachNhapHang.Rows[n].Cells[
"STT"].Value = _stt.ToString();
671                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
672                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
673
674                     so_luong = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoLuong"].ToString(), false);
675                     gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(item[
"GiaNhap"].ToString(), false);
676                     thue_ = CauHinhHeThong.Format_SoDeTinhToan(item[
"Thue"].ToString(), false);
677                     ckTheo = item[
"ChietKhauTheo"].ToString();
678                     ckPtram = CauHinhHeThong.Format_SoDeTinhToan(item[
"ChietKhauPhanTram"].ToString(), false);
679                     ckTien = CauHinhHeThong.Format_SoDeTinhToan(item[
"TienChietKhau"].ToString(), false);
680
681                     dgvDanhSachNhapHang.Rows[n].Cells[
"SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
682                     dgvDanhSachNhapHang.Rows[n].Cells[
"GiaNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true); //CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["GiaNhap"].ToString(), true);
683
684                     
//hien thi chiet khau theo phan tram
685                     
//dgvDanhSachNhapHang.Rows[n].Cells["ChietKhauTheo"].Value = ckTheo;// _ChietKhauTheo;
686
687                     dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhauPhanTram"].Value = CauHinhHeThong.Format_SoDeHienThi(ckPtram, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(_ChietKhau_PhanTram.ToString(), true);
688                     
//dgvDanhSachNhapHang.Rows[n].Cells["TienChietKhau"].Value = CauHinhHeThong.Format_SoDeHienThi(ckTien, true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
689                     dgvDanhSachNhapHang.Rows[n].Cells[
"Thue"].Value = CauHinhHeThong.Format_SoDeHienThi(thue_, false);// item["Thue"].ToString();// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["Thue"].ToString(), true); //item["ChietKhauPhanTram"].ToString();
690
691                     tongmotMh = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPtram, ckTien, ckTheo, thue_);
// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tt.ToString(), true);// this.TongTien_Mot_MatHang(item["GiaNhap"].ToString(), item["SoLuong"].ToString(), item["ChietKhauPhanTram"].ToString(), item["ChietKhauTheo"].ToString(), true);
692                     dgvDanhSachNhapHang.Rows[n].Cells[
"TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongmotMh, true);
693                     
//dgvDanhSachNhapHang.Rows[n].Cells["Sua"].Value = "false";
694                 }
695
696             }
697             
else
698             {
699                 _tongSoBanGhi_SanPhamNhapHang =
0;
700             }
701
702             txtTongSoMatHang.Text = _tongSoBanGhi_SanPhamNhapHang.ToString();
703
704         }
705
706         
//Hiển thị thông tin nhập hàng
707         
private void HienThiThongTinDonHang_NhapHang(int idNhapHang)
708         {
709             
//Hiển thị trong textbox
710             DataTable dtNH =
new DataTable();
711             dtNH = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNhapHangId(idNhapHang).Tables[
0];
712             
713             
//double No_NCC = 0;
714             
if (dtNH.Rows.Count > 0)
715             {
716                 txtMaDonHang.Text = CauHinhHeThong.TIEU_DE_NGU_HOA_DON_NHAP_HANG + idNhapHang.ToString();
717
718                 txtShowTenDonHang.Text = dtNH.Rows[
0]["TenDonHang"].ToString();
719
720                 
double cpthem = CauHinhHeThong.Format_SoDeTinhToan(dtNH.Rows[0]["ChiPhiThem"].ToString(),false);
721
722                 txtChiPhiThem.Text = CauHinhHeThong.Format_SoDeHienThi(cpthem,
true);
723
724                 txtMoTaChiPhiThem.Text = dtNH.Rows[
0]["MoTaChiPhiThem"].ToString() + ". " + dtNH.Rows[0]["GhiChu"].ToString();
725
726                 txtNgayTao.Text = CauHinhHeThong.Format_HienThiNgayThangNam(dtNH.Rows[
0]["NgayTao"].ToString(), true);
727
728                 labelTrangThai.Text = CauHinhHeThong.TrangThai_NhapHang(dtNH.Rows[
0]["TrangThai"].ToString());
729             }
730         }
731
732         
//Hiển thị lịch sử thanh toán
733         
private void HienThiLichSuThanhToanDonHang_NhapHang(int tbl_TenBangId, string tbl_TenBang)
734         {
735             
//hiển thị ra dgv
736             dgvThanhToan.Rows.Clear();
737             
//Ẩn cột đầu tiên
738             dgvThanhToan.RowHeadersVisible =
false;
739             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
740             
this.dgvThanhToan.Columns["STT_TT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
741             
this.dgvThanhToan.Columns["STT_TT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
742             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
743
744
745             
this.dgvThanhToan.Columns["SoTienThanhToan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
746             
this.dgvThanhToan.Columns["SoTienThanhToan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
747
748
749             
this.dgvThanhToan.Columns["NgayTao_TT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
750             
this.dgvThanhToan.Columns["NgayTao_TT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
751
752
753             DataTable dtTt =
new DataTable();
754
755             dtTt = Controllers.ThanhToanCtrl.FillDataSet_getThanhToan_Search_ByIdTableName(_IdThanhToan, tbl_TenBangId, _SoTienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, tbl_TenBang, _PageSize, _PageIndex).Tables[
0];
756
757             
//tổng đơn hàng
758             _tongDonHangAll = TongTienMotDonHang_All(tbl_TenBangId);
759
760             txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
761
762             
double _tongTien_DaThanhToan = 0;
763
764             
double _noNhaCungCap = 0;
765
766             
if (dtTt.Rows.Count > 0)
767             {
768                 
double sotientt = 0;
769                 
int _sttTT = 0;
770                 
foreach (DataRow item in dtTt.Rows)
771                 {
772                     _sttTT +=
1;
773                     
int n = dgvThanhToan.Rows.Add();
774
775                     dgvThanhToan.Rows[n].Cells[
"IdThanhToan"].Value = item["IdThanhToan"].ToString();
776                     dgvThanhToan.Rows[n].Cells[
"STT_TT"].Value = _sttTT.ToString();
777
778                     sotientt = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoTienThanhToan"].ToString(), false);
779
780                     dgvThanhToan.Rows[n].Cells[
"SoTienThanhToan"].Value = CauHinhHeThong.Format_SoDeHienThi(sotientt, true);
781                     dgvThanhToan.Rows[n].Cells[
"NgayTao_TT"].Value = CauHinhHeThong.Format_HienThiNgayThangNam(item["NgayTao"].ToString(),false);
782                     dgvThanhToan.Rows[n].Cells[
"GhiChu_TT"].Value = item["MoTaThanhToan"].ToString();
783
784                     _tongTien_DaThanhToan += sotientt;
785
786                 }
787             }
788
789
790             _noNhaCungCap = _tongDonHangAll - _tongTien_DaThanhToan;
791
792             txtSoTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(_tongTien_DaThanhToan,
true);
793
794             txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(_noNhaCungCap,
true);
795
796         }
797
798         
/*
799         
private void button2_Click(object sender, EventArgs e)
800         {
801             
this.btnPrintPreview_Click(sender, e);
802         }
803         */

804
805         
private void linkLabelDong_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
806         {
807             
if (this.Link_ChiTietDonHang_Dong_UctNhapHang != null)
808             {
809                 
this.Link_ChiTietDonHang_Dong_UctNhapHang(sender, e);
810             }
811         }
812
813         
private void linkLabelCopyDonHang_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
814         {
815
816             
int idNhapHang2 = 0;
817             idNhapHang2 = Controllers.NhapHangCtrl.InsertNhapHangCopy(getIdNhapHang);
818
819             
if (this.Link_SuaDonHang_Get_UctNhapHang != null)
820             {
821                 
this.Link_SuaDonHang_Get_UctNhapHang(sender, e, idNhapHang2, getNhaCungCapId, "CopyDonHang");
822             }
823         }
824
825     }
826 }


Gõ tìm kiếm nhanh...